Traditional data center storage is typically deployed using multiple types of storage media. FIG. 1 illustrates a traditional storage architecture with associated storage media. A traditional storage architecture can comprise of one or more application nodes (e.g., application node 1 40A to application node n 40N). Storage media elements 3 and 5, which can include solid state storage and rotating media (hard disk drives), are examples of type of storage media deployed in traditional data center storage.
In a traditional storage architecture, as illustrated in FIG. 1, all the storage processing and caching operations are performed by the storage processing and cache module 1 typically in software that runs on an application node operating system or hypervisor implemented on an application node processor 12. The storage processing module 1 controls local storage media, e.g., storage media 3 through a storage Host Bus Adapter (HBA), which typically utilizes standard storage media including SATA, SAS, Fiber channel and is evolving to the standard PCIe architectures including AHCI, NVM Express (NVMe), SCSI-Express architectures, or the PCIe solid state storage architectures that do storage processing on a standard storage network 11. The storage network 11 can use storage area network protocols including iSCSI, fiber channel, fiber channel over Ethernet (FCoE), NFS and CIFS to communicate with non-local storage media 5. Further, a traditional storage architecture can comprise an integrated fault tolerant SAN or NAS storage system 6 with integrated storage media 5 that delivers storage data processing over the storage area network using the aforementioned storage network protocols.
The challenge with traditional storage architectures is that the storage processing and cache module 1 runs on the application node and, therefore, has to contend for resources with other application processing that is also being performed on the node from other applications. The overhead created by the storage processing and cache module 1 on the application node processor results in an inability to control performance and latency because of resource conflicts with other applications also processing on the application node. Further, the current block and file protocols that are used over the storage area network, e.g., fiber channel, iSCSI, etc. are inefficient and less reliable.
Additionally, reliability in traditional storage networks is limited to only point-to-point communication over the block (SAN) or file (NAS) storage network. For example, an application node is typically connected to one SAN or NAS and there is limited ability to distribute data across multiple SANs or NASs. In other words, one application node is typically tied to one SAN or NAS and there is limited ability to scale. As a result, there is limited ability to build a deployment starting with a smaller deployment (e.g., one application node and one storage node) and grow the system incrementally as application nodes and storage nodes are added.